The present invention relates generally to configuration management systems, and more specifically, to extensible change set conflict and merge gap detection in a record-based configuration management system.
A challenge facing contemporary domain tools that use configuration management systems is how to hide internally managed resources, which need to be included in the delivery process, from the user. In simple cases like source code development, this is usually not an issue as there are typically no internal artifacts being saved in change sets that are being propagated.
Property or configuration files can constitute internal files, and the typical practice is to simply flag these resources as not deliverable. The property or configuration files will show up in the workspace of the user and the user can change their state, but cannot share the changes to the stream for other developers to see without explicitly changing parameters of a source control management system. This common practice is inadequate for the more general cases where domain tools want to include respective internal resources into change sets for delivery between streams, but do not want the user to be aware of potential conflicts or have the inclusion affect any merge gap calculations.